<?php
	/**
	 * MusicNet Alignment Tool: Import Script
	 *
	 * Copyright (c) 2010 Joe Lambert
	 * 
	 * Permission is hereby granted, free of charge, to any person obtaining
	 * a copy of this software and associated documentation files (the
	 * "Software"), to deal in the Software without restriction, including
	 * without limitation the rights to use, copy, modify, merge, publish,
	 * distribute, sublicense, and/or sell copies of the Software, and to
	 * permit persons to whom the Software is furnished to do so, subject to
	 * the following conditions:
	 * 
	 * The above copyright notice and this permission notice shall be
	 * included in all copies or substantial portions of the Software.
	 * 
	 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
	 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
	 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
	 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
	 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
	 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
	 *  
	 * @author Joe Lambert
	 * @version 1.0
	 * @copyright Joe Lambert, 23 August, 2010
	 **/
	
	// Include required files
	require_once(dirname(__FILE__).'/../shared/database.php');
	require_once(dirname(__FILE__).'/mnitem.php');
	
	// The script may be being run via "php import.php" or may be setup to run as "./import.php"
	if ( realpath($_SERVER['argv'][0]) == __FILE__ )
	   array_shift($argv) ;
	
	$prefix = NULL;
	
	// Ensure a file name has been provided
	if(count($argv) < 1)
		die("You must provide the name of the json file to parse as the first argument\n");
	else
	{
		$json_file = file_get_contents($argv[0]);
		
		if(!$json_file)
			die($argv[0]." could not be found\n");
			
		$json = json_decode($json_file);
		unset($json_file);
		
		if(!$json)
			die($argv[0]." does not appear to be a valid JSON file\n");
			
		if(count($argv) > 1)
			$prefix = $argv[1];
	}
	
	Database::instance();
	
	//mysql_query("TRUNCATE TABLE items");
	//mysql_query("TRUNCATE TABLE metadata");
	
	// Loop through each item in the array and import into the DB
	foreach($json as $item)
	{
		$obj = new MNItem($item->id, $item->label, $item->metadata, $prefix);
		$obj->save();
	}
	
	Database::instance()->close();
?>